using System;
using ns27;
using Triton.Game.Mono;

namespace Triton.Game.Mapping
{
	[Attribute38("Currency")]
	public class Currency : MonoClass
	{
		public enum Tax
		{
			TAX_INCLUDED,
			TAX_ADDED,
			NO_TAX
		}

		public static Currency GTAPP => MonoClass.smethod_7<Currency>(TritonHs.MainAssemblyPath, "", "Currency", "GTAPP");

		public string Code => method_13("get_Code");

		public int ID => method_11<int>("get_ID", Array.Empty<object>());

		public int SubRegion => method_11<int>("get_SubRegion", Array.Empty<object>());

		public string Symbol => method_13("get_Symbol");

		public int RoundingExponent => method_11<int>("get_RoundingExponent", Array.Empty<object>());

		public Tax TaxText => method_11<Tax>("get_TaxText", Array.Empty<object>());

		public int ChangedVersion => method_11<int>("get_ChangedVersion", Array.Empty<object>());

		public Currency(IntPtr address, string className)
			: base(address, className)
		{
		}

		public Currency(IntPtr address)
			: this(address, "Currency")
		{
		}

		public static bool IsGTAPP(string currencyCode)
		{
			return MonoClass.smethod_14<bool>(TritonHs.MainAssemblyPath, "", "Currency", "IsGTAPP", new object[1] { currencyCode });
		}

		public string GetFormat()
		{
			return method_13("GetFormat");
		}

		public bool IsGTAPP()
		{
			return method_11<bool>("IsGTAPP", Array.Empty<object>());
		}

		public ulong RoundingOffset()
		{
			return method_11<ulong>("RoundingOffset", Array.Empty<object>());
		}
	}
}
